<?php
	
	include_once "inc/defines.php";
	
	class sqlhandler { //Cette classe gere les operations complexes avec la base de donnees
		private $db;
		
		public function __construct() {
			$this->db = new PDO(SERVER.":host=".HOST.";dbname=".BASE, USER, PASS);
		}
		
		public function getGroupesTPMemeSemestre($idtp) {
			//cette requete recupere les groupes TP qui sont dans le meme semestre que le groupe TP qu'on lui donne (on en a besoin pour changer un etudiant de groupe TP)
			$sqlQuery = "select ".GRP_TP_TABLE.".id_grptp, ".GRP_TP_TABLE.".nom_grptp FROM ".GRP_TP_TABLE." where ".GRP_TP_TABLE.".id_grptd IN (select ".GRP_TD_TABLE.".id_grptd FROM ".GRP_TD_TABLE." where ".GRP_TD_TABLE.".id_sem IN (select ".SEMESTRE_TABLE.".id_sem from ".SEMESTRE_TABLE." where ".SEMESTRE_TABLE.".id_form IN (select ".FORM_TABLE.".id_form from ".FORM_TABLE." left join ".SEMESTRE_TABLE." on ".FORM_TABLE.".id_form=".SEMESTRE_TABLE.".id_form left join ".GRP_TD_TABLE." on ".SEMESTRE_TABLE.".id_sem=".GRP_TD_TABLE.".id_sem LEFT JOIN ".GRP_TP_TABLE." on ".GRP_TD_TABLE.".id_grptd=".GRP_TP_TABLE.".id_grptd where id_grptp=".$idtp.")));";
			$st = $this->db->prepare($sqlQuery);
			$st->execute();
			$groupesTP = array(); //array de correspondance ID->nom pour les groupes TP
			while($ligne = $st->fetch(PDO::FETCH_ASSOC))
				$groupesTP[$ligne["id_grptp"]] = $ligne["nom_grptp"];
			return $groupesTP;
		}
		
		public function getMoyUECap($id_etud, $id_ue) {
			$sqlQuery = "select moyenne_uecap from ".UE_CAP_TABLE." WHERE id_etud=".$id_etud." AND id_ue=".$id_ue.";";
			$st = $this->db->prepare($sqlQuery);
			$st->execute();
			$ligne = $st->fetch(PDO::FETCH_ASSOC);
			$moy = null;
			if($st->rowCount() != 0)
				$moy = $ligne["moyenne_uecap"];
			return $moy;
		}
	}
	
?>
